using System.Data.Entity.ModelConfiguration;
using CodeSaude.Domain.Entities;

namespace CodeSaude.Infrastructure.Data.EntityConfig
{
    public class LocalServicoMap : EntityTypeConfiguration<LocalServico>
    {
        public LocalServicoMap()
        {
            // Primary Key
            HasKey(t => t.LocalServicoId);

            // Properties
            // Table & Column Mappings
            ToTable("local_servico");
            Property(t => t.LocalServicoId).HasColumnName("identificador");
            Property(t => t.id_local).HasColumnName("id_local");
            Property(t => t.id_servico).HasColumnName("id_servico");
            Property(t => t.data_criacao).HasColumnName("data_criacao");
            Property(t => t.Usuario_criacao).HasColumnName("Usuario_criacao");
            Property(t => t.data_alteracao).HasColumnName("data_alteracao");
            Property(t => t.Usuario_alteracao).HasColumnName("Usuario_alteracao");

            // Relationships
            HasRequired(t => t.LocalAtendimento)
                .WithMany(t => t.ListaLocalServico)
                .HasForeignKey(d => d.id_local);

            HasRequired(t => t.ServicoAtendimento)
                .WithMany(t => t.ListaLocalServico)
                .HasForeignKey(d => d.id_servico);

        }
    }
}
